import mplfinance as mpf
import pandas as pd
from datetime import datetime
import matplotlib
matplotlib.use('TkAgg')  # 或者 'Agg'，视情况而定
# 创建今日时间戳（2025-04-03 17:13）
today = datetime(2025, 4, 27, 17, 13)
import matplotlib.pyplot as plt

# 设置中文字体以避免显示问题
plt.rcParams['font.family'] = ['simHei']  # 设置字体为黑体
plt.rcParams['axes.unicode_minus'] = False  # 解决负号显示问题

# 示例数据（包含今日行情）
data = {
    'Date': pd.date_range(start='2025-01-01', periods=3, freq='D'),
    'Open': [100, 102, 101],
    'High': [105, 106, 104],
    'Low': [99, 100, 99],
    'Close': [104, 105, 100],  # 今日收盘价设为100（阴线）
    'Volume': [1000, 1500, 2000]
}
df = pd.DataFrame(data).set_index('Date')

# 兼容旧版本的样式设置
my_style = mpf.make_marketcolors(
    up='white',  # 阳线边框（白）
    down='g',  # 阴线实心（绿）
    edge='i',  # 边缘继承
    wick='i',  # 影线继承
    volume='in',
    inherit=True
)

# 通过填充色实现空心效果
custom_style = mpf.make_mpf_style(base_mpf_style='charles', rc={'font.family': 'simHei'})

mpf.plot(df, type='candle', style=custom_style,
         title=f'K线图（更新至 {today.strftime("%Y-%m-%d  %H:%M")}）',
         volume=True)